<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1.把数组或者对象转成字符串；JSON.stringify
        // var obj = {
        //     name: "张三",
        //     age: 20
        // }
        // console.log(typeof obj);
        // var str = JSON.stringify(obj);
        // console.log(typeof str);

        // 2.可以把 转化之后的字符串 转成对象或者数组；JSON.parse
        
        // var obj = {
        //     name: "张三",
        //     age: 20
        // }
        // var str = JSON.stringify(obj);
        // console.log(str);
        // var obj2 = JSON.parse(str);
        // console.log(obj2);

        

        // 3.深拷贝 
        // function deepCopy(arg){
        //     return JSON.parse(JSON.stringify(arg));
        // }


        // var obj = {
        //     name: "张三",
        //     obj2: {
        //         age: 20,
        //         height: "178cm"
        //     }
        // }

        // var obj2 = deepCopy(obj);
        // obj2.obj2.age = 111;
        // console.log(obj);


        // 4. JSON转换的时候 会忽略掉 undefined  和 函数；


        // function deepCopy(arg){
        //     return JSON.parse(JSON.stringify(arg));
        // }
    //     function deepCopy(arg) {
    //         var newArg = Array.isArray(arg) ? [] : {};
    //         for (var key in arg) {
    //             if(typeof arg[key] !== "object"){
    //                 newArg[key] = arg[key];
    //             }else{
    //                 newArg[key] = deepCopy(arg[key])
    //             }
    //         }
    //         return newArg;
    //     }


    //     var obj = {
    //         name:undefined,
    //         age:20,
    //         fn:function(){
    //             console.log(123);
    //         }
    //     }

    //   var obj2 =   deepCopy(obj);
    //   console.log(obj2);

    //   json ：通用数据格式 
    // var str = JSON.stringify({name:"张三",age:20});
    // console.log(str);
    var str = '{"name":"张三","age":20}';
   var obj =  JSON.parse(str)  //一定需要标准的json格式才能转；
        console.log(obj);
    </script>
</body>

</html>